home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / manchest.lha / MANCHESTER / manchester / 2.2 / NewPrimitives.st < prev    next >
Text File  |  1993-07-24  |  1KB  |  51 lines

  1. "    NAME        NewPrimitives
  2.     AUTHOR        tph@cs.man.ac.uk
  3.     FUNCTION access primitives allReferences, refct, etc 
  4.     ST-VERSIONS    2.2
  5.     PREREQUISITES     
  6.     CONFLICTS    
  7.     DISTRIBUTION      world
  8.     VERSION        1.1
  9.     DATE    22 Jan 1989
  10. SUMMARY    NewPrimitives
  11.     contains methods which access a number of useful
  12.    primitives hitherto inaccessible.(2.2). TPH
  13. "!
  14. 'From Smalltalk-80, version 2, of April 1, 1983 on 14 July 1987 at 10:53:48 am'!
  15.  
  16.  
  17.  
  18. !Object methodsFor: 'system primitives'!
  19.  
  20. allReferences
  21.     "Answer a collection of all objects that refer to me."
  22.  
  23.     | aCollection owner |
  24.     owner _ self firstOwner.
  25.     aCollection _ OrderedCollection new.
  26.     [owner _ self nextOwnerAfter: owner.
  27.      owner notNil] whileTrue: [aCollection add: owner].
  28.     ^aCollection! !
  29.  
  30. 'From Smalltalk-80, version 2, of April 1, 1983 on 14 July 1987 at 10:47:46 am'!
  31.  
  32.  
  33.  
  34. !Object methodsFor: 'system primitives'!
  35.  
  36. firstOwner
  37.     "Return the object with the lowest oop that refers to me"
  38.     <primitive: 197>
  39.     self primitiveFailed! !
  40.  
  41. 'From Smalltalk-80, version 2, of April 1, 1983 on 14 July 1987 at 10:46:26 am'!
  42.  
  43.  
  44.  
  45. !Object methodsFor: 'system primitives'!
  46.  
  47. refct
  48.     "Return my reference count; doesn't seem to be correct in all cases"
  49.     <primitive: 134>
  50.     self primitiveFailed! !
  51.